package com.lingyue.entity.module.biz.entity;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.annotation.JsonProperty;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;

import java.io.Serializable;
import java.math.BigDecimal;
import java.time.LocalDate;
import java.time.LocalDateTime;

/**
 * <p>
 * 
 * </p>
 *
 * @author lizhiyuan
 * @since 2019-11-29
 */
@Data
@EqualsAndHashCode(callSuper = false)
@Accessors(chain = true)
@TableName("vehicle")
@ApiModel(value="VehicleEntity对象", description="")
public class VehicleEntity implements Serializable {

    private static final long serialVersionUID = 1L;

    @TableId(value = "VEH_ID", type = IdType.ASSIGN_ID)
    private Long id;

    @TableField("VEH_VIN")
    private String vin;

    @TableField("VEH_API_UNIQUE_KEY")
    private String apiUniqueKey;

    @TableField("VEH_DEL_ID")
    private Long delId;

    @TableField("VEH_HANDOVER_DEALER_ID")
    private Long handoverDealerId;

    @TableField("VEH_BRAND")
    private String brand;

    @TableField("VEH_SERIES")
    private String series;

    @TableField("VEH_MODEL")
    private String model;

    @TableField("VEH_LICENSE_PLATE")
    private String licensePlate;

    @TableField("VEH_DAILY_AVG_MILEAGE")
    private BigDecimal dailyAvgMileage;

    @TableField("VEH_HANDOVER_DATE")
    private LocalDateTime handoverDate;

//    @TableField("VEH_DELIVERY_DATE")
//    private LocalDate deliveryDate;

    @TableField("VEH_WARRANTY_START_DATE")
    private LocalDateTime warrantyStartDate;

    @TableField("VEH_WARRANTY_END_DATE")
    private LocalDateTime warrantyEndDate;

    @TableField("VEH_INS_START_DATE")
    private LocalDateTime insStartDate;

    @TableField("VEH_INS_END_DATE")
    private LocalDateTime insEndDate;

    @TableField("VEH_INS_RENEW_DATE")
    private LocalDateTime insRenewDate;

    @TableField("VEH_FIRST_OIL_DATE")
    private LocalDateTime firstOilDate;

    @TableField("VEH_LAST_OIL_DATE")
    private LocalDateTime lastOilDate;

    @TableField("VEH_LAST_OIL_MILEAGE")
    private BigDecimal lastOilMileage;

    @TableField("VEH_LAST_OIL_DEALER_ID")
    private String lastOilDealerId;

    @TableField("VEH_LAST_OIL_DEALER")
    private String lastOilDealer;

    @TableField("VEH_LAST_RETURN_CONTACT")
    private String lastReturnContact;

    @TableField("VEH_LAST_RETURN_MILEAGE")
    private BigDecimal lastReturnMileage;

    @TableField("VEH_LAST_RETURN_SPENDING")
    private BigDecimal lastReturnSpending;

    @TableField("VEH_LAST_RETURN_DATE")
    private LocalDateTime lastReturnDate;

    @TableField("VEH_LAST_VISIT_DEALER_ID")
    private String lastVisitDealerId;

    @TableField("VEH_LAST_VISIT_DEALER")
    private String lastVisitDealer;

    @TableField("VEH_LAST_VISIT_ORDER_TYPE")
    private String lastVisitOrderType;

    @TableField("VEH_LAST_VISIT_SPENDING")
    private BigDecimal lastVisitSpending;

    @TableField("VEH_LAST_VISIT_MILEAGE")
    private BigDecimal lastVisitMileage;

    @TableField("VEH_LAST_VISIT_BILLING_DATE")
    private LocalDateTime lastVisitBillingDate;

    @TableField("VEH_CONNECT_DRIVE_FLAG")
    private String connectDriveFlag;

    @TableField("VEH_CONNECT_DRIVE_STATUS")
    private String connectDriveStatus;

    @TableField("VEH_CONNECT_DRIVE_END_DATE")
    private LocalDateTime connectDriveEndDate;

    @TableField("VEH_REGULAR")
    private String regular;

    @TableField("VEH_VALUE_SERVICE")
    private String valueService;

    @TableField("VEH_BSI")
    private String bsi;

    @TableField("VEH_CUSTOMER_VALUE_AFSLYT")
    private String customerValueAfslyt;

    @TableField("VEH_CUSTOMER_VALUE_TOTAL_SPENDING")
    private String customerValueTotalSpending;

    @TableField("VEH_BUSINESS_PARTNER_TYPE")
    private String businessPartnerType;

    /**
     * 20200330 feat:baijinhua
     */

    @ApiModelProperty(value = "BSI产品代码")
    @TableField("VEH_BSI_CONTRACT_CODE")
    private String bsiContractCode;

    @ApiModelProperty(value = "BSI合同开始时间")
    @TableField("VEH_BSI_CONTRACT_START_DATE")
    private LocalDateTime bsiContractStartDate;

    @ApiModelProperty(value = "BSI合同结束时间")
    @TableField("VEH_BSI_CONTRACT_END_DATE")
    private LocalDateTime bsiContractEndDate;

    @ApiModelProperty(value = "BSI销售经销商CBU代码")
    @TableField("VEH_BSI_SOLD_DEALER_ID")
    private String bsiSoldDealerId;

    @ApiModelProperty(value = "BSI零售价格(不含税)")
    @TableField("VEH_BSI_WS_AMOUNT")
    private BigDecimal bsiWsAmount;

    @ApiModelProperty(value = "聚类组别")
    @TableField("VEH_CATEGORY")
    private String category;

    @ApiModelProperty(value = "专一度得分-经销商")
    @TableField("VEH_DR_CONCENTRATION_DL")
    private String drConcentrationDl;

    @ApiModelProperty(value = "消费能力得分-经销商")
    @TableField("VEH_DR_CONSUMPTION_ABILITY_DL")
    private String drConsumptionAbilityDl;

    @ApiModelProperty(value = "消费类型得分-经销商")
    @TableField("VEH_DR_CONSUMPTION_CATEGORY_DL")
    private String drConsumptionCategoryDl;

    @ApiModelProperty(value = "忠诚度得分-经销商")
    @TableField("VEH_DR_LOYALTY_DL")
    private String drLoyaltyDl;

    @ApiModelProperty(value = "发动机型号")
    @TableField("VEH_ENGINE_SERIES")
    private String engineSeries;

    @ApiModelProperty(value = "首次机油保养经销商id")
    @TableField("VEH_FIRST_OIL_CHANGE_DEALER_ID")
    private String firstOilChangeDealerId;

    @ApiModelProperty(value = "首次机油保养经销商")
    @TableField("VEH_FIRST_OIL_CHANGE_DEALER")
    private String firstOilChangeDealer;

    @ApiModelProperty(value = "首次机油保养里程数")
    @TableField("VEH_FIRST_OIL_CHANGE_MILEAGE")
    private BigDecimal firstOilChangeMileage;

    @ApiModelProperty(value = "(出厂前检查)经销商编号")
    @TableField("VEH_PDI_DEALER_ID")
    private String pdiDealerId;

    @ApiModelProperty(value = "(出厂前检查)经销商")
    @TableField("VEH_PDI_DEALER")
    private String pdiDealer;

    @ApiModelProperty(value = "(出厂前检查)日期")
    @TableField("VEH_PDI_DATE")
    private LocalDateTime pdiDate;

    @ApiModelProperty(value = "售价维度得分")
    @TableField("VEH_REMARKING1_RETAIL_PRICE")
    private String remarking1RetailPrice;

    @ApiModelProperty(value = "VSP产品代码")
    @TableField("VEH_VSP_CONTRACT_CODE")
    private String vspContractCode;

    @ApiModelProperty(value = "VSP合同开始时间")
    @TableField("VEH_VSP_CONTRACT_START_DATE")
    private LocalDateTime vspContractStartDate;

    @ApiModelProperty(value = "VSP合同结束时间")
    @TableField("VEH_VSP_CONTRACT_END_DATE")
    private LocalDateTime vspContractEndDate;

    @ApiModelProperty(value = "VSP销售经销商CBU代码")
    @TableField("VEH_VSP_SOLD_DEALER_ID")
    private String vspSoldDealerId;

    @ApiModelProperty(value = "VSP次数")
    @TableField("VEH_VSP_TIMES")
    private String vspTimes;

    @ApiModelProperty(value = "VSP零售价格(不含税)")
    @TableField("VEH_VSP_WS_AMOUNT")
    private BigDecimal vspWsAmount;

    @ApiModelProperty(value = "WEP产品代码")
    @TableField("VEH_WEP_CONTRACT_CODE")
    private String wepContractCode;

    @ApiModelProperty(value = "WEP合同开始时间")
    @TableField("VEH_WEP_CONTRACT_START_DATE")
    private LocalDateTime wepContractStartDate;

    @ApiModelProperty(value = "WEP合同结束时间")
    @TableField("VEH_WEP_CONTRACT_END_DATE")
    private LocalDateTime wepContractEndDate;

    @ApiModelProperty(value = "WEP销售经销商CBU代码")
    @TableField("VEH_WEP_SOLD_DEALER_ID")
    private String wepSoldDealerId;

    @ApiModelProperty(value = "里程预测精准度")
    @TableField("VEH_MILEAGE_FORECAST_ACCURACY")
    private String mileageForecastAccuracy;

    @TableField("VEH_DATA_SOURCE")
    private String dataSource;

    @TableField("VEH_REMARK")
    private String remark;

    @TableField("VEH_VALID_FLAG")
    private String validFlag;

    @TableField("VEH_CREATE_USER")
    private String createUser;

    @TableField("VEH_CREATE_DATE")
    private LocalDateTime createDate;

    @TableField("VEH_UPDATE_USER")
    private String updateUser;

    @TableField("VEH_UPDATE_DATE")
    private LocalDateTime updateDate;


    public static final String VEH_ID = "VEH_ID";

    public static final String VEH_VIN = "VEH_VIN";

    public static final String VEH_DEL_ID = "VEH_DEL_ID";

    public static final String VEH_HANDOVER_DEALER_ID = "VEH_HANDOVER_DEALER_ID";

    public static final String VEH_API_UNIQUE_KEY = "VEH_API_UNIQUE_KEY";

    public static final String VEH_BRAND = "VEH_BRAND";

    public static final String VEH_SERIES = "VEH_SERIES";

    public static final String VEH_MODEL = "VEH_MODEL";

    public static final String VEH_LICENSE_PLATE = "VEH_LICENSE_PLATE";

    public static final String VEH_MILEAGE = "VEH_MILEAGE";

    public static final String VEH_DAILY_AVG_MILEAGE = "VEH_DAILY_AVG_MILEAGE";

    public static final String VEH_HANDOVER_DATE = "VEH_HANDOVER_DATE";

    public static final String VEH_DELIVERY_DATE = "VEH_DELIVERY_DATE";

    public static final String VEH_WARRANTY_STARTDATE = "VEH_WARRANTY_STARTDATE";

    public static final String VEH_WARRANTY_DUEDATE = "VEH_WARRANTY_DUEDATE";

    public static final String VEH_INS_STARTDATE = "VEH_INS_STARTDATE";

    public static final String VEH_INS_DUEDATE = "VEH_INS_DUEDATE";

    public static final String VEH_INS_RENEWDATE = "VEH_INS_RENEWDATE";

    public static final String VEH_FIRST_OILDATE = "VEH_FIRST_OILDATE";

    public static final String VEH_LAST_OIL_INVOICEDATE = "VEH_LAST_OIL_INVOICEDATE";

    public static final String VEH_LAST_OILDATE = "VEH_LAST_OILDATE";

    public static final String VEH_LAST_OIL_MILEAGE = "VEH_LAST_OIL_MILEAGE";

    public static final String VEH_LAST_OIL_DEALERID = "VEH_LAST_OIL_DEALERID";

    public static final String VEH_LAST_RETURN_CONTACT = "VEH_LAST_RETURN_CONTACT";

    public static final String VEH_LAST_RETURN_MILEAGE = "VEH_LAST_RETURN_MILEAGE";

    public static final String VEH_LAST_RETURN_SPENDING = "VEH_LAST_RETURN_SPENDING";

    public static final String VEH_LAST_RETURN_DATE = "VEH_LAST_RETURN_DATE";

    public static final String VEH_LAST_VISIT_DEALERID = "VEH_LAST_VISIT_DEALERID";

    public static final String VEH_LAST_VISIT_ORDER_TYPE = "VEH_LAST_VISIT_ORDER_TYPE";

    public static final String VEH_LAST_VISIT_SPENDING = "VEH_LAST_VISIT_SPENDING";

    public static final String VEH_LAST_VISIT_MILEAGE = "VEH_LAST_VISIT_MILEAGE";

    public static final String VEH_LAST_VISIT_DATE = "VEH_LAST_VISIT_DATE";

    public static final String VEH_CONNECT_DRIVE_FLAG = "VEH_CONNECT_DRIVE_FLAG";

    public static final String VEH_CONNECT_DRIVE_STATUS = "VEH_CONNECT_DRIVE_STATUS";

    public static final String VEH_CONNECT_DRIVE_END_DATE = "VEH_CONNECT_DRIVE_END_DATE";

    public static final String VEH_REGULAR = "VEH_REGULAR";

    public static final String VEH_VALUE_SERVICE = "VEH_VALUE_SERVICE";

    public static final String VEH_BUSINESS_PARTNER_TYPE = "VEH_BUSINESS_PARTNER_TYPE";

    public static final String VEH_BSI = "VEH_BSI";


    public static final String VEH_BSI_CONTRACT_CODE = "VEH_BSI_CONTRACT_CODE";
    public static final String VEH_BSI_CONTRACT_START_DATE = "VEH_BSI_CONTRACT_START_DATE";
    public static final String VEH_BSI_CONTRACT_END_DATE = "VEH_BSI_CONTRACT_END_DATE";
    public static final String VEH_BSI_SOLD_DEALER_ID = "VEH_BSI_SOLD_DEALER_ID";
    public static final String VEH_BSI_WS_AMOUNT = "VEH_BSI_WS_AMOUNT";
    public static final String VEH_CATEGORY = "VEH_CATEGORY";
    public static final String VEH_DR_CONCENTRATION_DL = "VEH_DR_CONCENTRATION_DL";
    public static final String VEH_DR_CONSUMPTION_ABILITY_DL = "VEH_DR_CONSUMPTION_ABILITY_DL";
    public static final String VEH_DR_CONSUMPTION_CATEGORY_DL = "VEH_DR_CONSUMPTION_CATEGORY_DL";
    public static final String VEH_DR_LOYALTY_DL = "VEH_DR_LOYALTY_DL";
    public static final String VEH_ENGINE_SERIES = "VEH_ENGINE_SERIES";
    public static final String VEH_FIRST_OIL_CHANGE_DEALER = "VEH_FIRST_OIL_CHANGE_DEALER";
    public static final String VEH_FIRST_OIL_CHANGE_DEALER_ID = "VEH_FIRST_OIL_CHANGE_DEALER_ID";
    public static final String VEH_FIRST_OIL_CHANGE_MILEAGE = "VEH_FIRST_OIL_CHANGE_MILEAGE";
    public static final String VEH_PDI_DATE = "VEH_PDI_DATE";
    public static final String VEH_PDI_DEALER_ID = "VEH_PDI_DEALER_ID";
    public static final String VEH_PDI_DEALER = "VEH_PDI_DEALER";
    public static final String VEH_REMARKING1_RETAIL_PRICE = "VEH_REMARKING1_RETAIL_PRICE";
    public static final String VEH_VSP_CONTRACT_CODE = "VEH_VSP_CONTRACT_CODE";
    public static final String VEH_VSP_CONTRACT_END_DATE = "VEH_VSP_CONTRACT_END_DATE";
    public static final String VEH_VSP_CONTRACT_START_DATE = "VEH_VSP_CONTRACT_START_DATE";
    public static final String VEH_VSP_SOLD_DEALER_ID = "VEH_VSP_SOLD_DEALER_ID";
    public static final String VEH_VSP_TIMES = "VEH_VSP_TIMES";
    public static final String VEH_VSP_WS_AMOUNT = "VEH_VSP_WS_AMOUNT";
    public static final String VEH_WEP_CONTRACT_CODE = "VEH_WEP_CONTRACT_CODE";
    public static final String VEH_WEP_CONTRACT_END_DATE = "VEH_WEP_CONTRACT_END_DATE";
    public static final String VEH_WEP_CONTRACT_START_DATE = "VEH_WEP_CONTRACT_START_DATE";
    public static final String VEH_WEP_SOLD_DEALER_ID = "VEH_WEP_SOLD_DEALER_ID";
    public static final String VEH_MILEAGE_FORECAST_ACCURACY = "VEH_MILEAGE_FORECAST_ACCURACY";


    public static final String VEH_REMARK = "VEH_REMARK";

    public static final String VEH_VALID_FLAG = "VEH_VALID_FLAG";

    public static final String VEH_CREATE_USER = "VEH_CREATE_USER";

    public static final String VEH_CREATE_DATE = "VEH_CREATE_DATE";

    public static final String VEH_UPDATE_USER = "VEH_UPDATE_USER";

    public static final String VEH_UPDATE_DATE = "VEH_UPDATE_DATE";

}
